package com.ckerchina.admin.ckadmin.service.sms;

import java.util.List;

import com.ckerchina.admin.ckadmin.service.sms.dto.SmsReceiveReport;
import com.ckerchina.admin.ckadmin.service.sms.dto.SmsSendResult;
import com.ckerchina.admin.ckadmin.service.sms.dto.SmsStatusReport;

public interface SMSServiceProvider {

	public static String MengWangBusinessProvider = "mengWangBusinessProvider";
	public static String MengWangMarketingProvider = "mengWangMarketingProvider";
	public static String MengWangRycProvider = "mengWangRycProvider";
	public static String ProgroupSmsProvider = "progroupSmsProvider"; 

	/**
	 * 发送短信
	 * 
	 * @param mobiles
	 * @param content
	 * @return {@link SmsSendResult}
	 */
	public SmsSendResult sendMessage(String[] mobiles, String content);

	/**
	 * 发送短信
	 * 
	 * @param mobiles
	 * @param content
	 * @return {@link SmsSendResult}
	 */
	public SmsSendResult sendMessage(String mobiles, String content);

	/**
	 * 查询余额
	 * 
	 * @return
	 */
	public Integer queryBalance();

	/**
	 * 查询发送状态报告
	 * 
	 * @return List<SmsStatusReport>
	 */
	public List<SmsStatusReport> queryStatusReport();

	/**
	 * 上行短信接收
	 * 
	 * @return List<SmsReceiveReport>
	 */
	public List<SmsReceiveReport> receiveMessage();

	/**
	 * 发送语音验证码
	 * 
	 * @param mobiles
	 * @param code
	 * @return {@link SmsSendResult}
	 */
	public SmsSendResult sendVMS(String mobiles, String code);

	/**
	 * 查询语音验证码状态报告
	 * 
	 * @return List<SmsStatusReport>
	 */
	public List<SmsStatusReport> queryVMSStatusReport();

}
